{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542\\t/front-api/bill/create\\t8\\t1057.31...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644\\t/front-api/bill/create\\t5\\t749.12\\t103...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742\\t/front-api/bill/create\\t5\\t845.84\\t136...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808\\t/front-api/bill/create\\t9\\t1305.52\\t90...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943\\t/front-api/bill/create\\t3\\t568.89\\t138...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                   0\n",
       "0  2019162542\\t/front-api/bill/create\\t8\\t1057.31...\n",
       "1  162644\\t/front-api/bill/create\\t5\\t749.12\\t103...\n",
       "2  162742\\t/front-api/bill/create\\t5\\t845.84\\t136...\n",
       "3  162808\\t/front-api/bill/create\\t9\\t1305.52\\t90...\n",
       "4  162943\\t/front-api/bill/create\\t3\\t568.89\\t138..."
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('./log.txt',header = None)\n",
    "df.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0                       1  2        3       4       5      6   7  \\\n",
       "0  2019162542  /front-api/bill/create  8  1057.31   88.75  177.72  132.0  60   \n",
       "1      162644  /front-api/bill/create  5   749.12  103.79  240.38  149.0  60   \n",
       "2      162742  /front-api/bill/create  5   845.84  136.31  225.73  169.0  60   \n",
       "3      162808  /front-api/bill/create  9  1305.52   90.12  196.61  145.0  60   \n",
       "4      162943  /front-api/bill/create  3   568.89  138.45  232.02  189.0  60   \n",
       "\n",
       "                     8  \n",
       "0  2018-11-01 00:00:07  \n",
       "1  2018-11-01 00:01:07  \n",
       "2  2018-11-01 00:02:07  \n",
       "3  2018-11-01 00:03:07  \n",
       "4  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('./log.txt',header = None,sep='\\t')\n",
    "df.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>create_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id                     api  count  res_time_sum  res_time_min  \\\n",
       "0  2019162542  /front-api/bill/create      8       1057.31         88.75   \n",
       "1      162644  /front-api/bill/create      5        749.12        103.79   \n",
       "\n",
       "   res_time_max  res_time_avg  interval            create_at  \n",
       "0        177.72         132.0        60  2018-11-01 00:00:07  \n",
       "1        240.38         149.0        60  2018-11-01 00:01:07  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns=['id','api','count','res_time_sum','res_time_min','res_time_max','res_time_avg','interval','create_at']\n",
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>create_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>158452</th>\n",
       "      <td>11824710</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>2</td>\n",
       "      <td>306.74</td>\n",
       "      <td>139.00</td>\n",
       "      <td>167.74</td>\n",
       "      <td>153.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-07 11:14:56</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70788</th>\n",
       "      <td>5559172</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1293.64</td>\n",
       "      <td>115.71</td>\n",
       "      <td>204.27</td>\n",
       "      <td>161.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-01-22 15:44:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>89282</th>\n",
       "      <td>6786755</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>6</td>\n",
       "      <td>882.04</td>\n",
       "      <td>83.73</td>\n",
       "      <td>215.72</td>\n",
       "      <td>147.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-02-13 14:29:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79675</th>\n",
       "      <td>6147576</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>12</td>\n",
       "      <td>2389.73</td>\n",
       "      <td>68.03</td>\n",
       "      <td>299.68</td>\n",
       "      <td>199.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-02-01 22:11:52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33787</th>\n",
       "      <td>3086229</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>7</td>\n",
       "      <td>1474.74</td>\n",
       "      <td>91.70</td>\n",
       "      <td>258.22</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-12-10 13:57:24</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              id                     api  count  res_time_sum  res_time_min  \\\n",
       "158452  11824710  /front-api/bill/create      2        306.74        139.00   \n",
       "70788    5559172  /front-api/bill/create      8       1293.64        115.71   \n",
       "89282    6786755  /front-api/bill/create      6        882.04         83.73   \n",
       "79675    6147576  /front-api/bill/create     12       2389.73         68.03   \n",
       "33787    3086229  /front-api/bill/create      7       1474.74         91.70   \n",
       "\n",
       "        res_time_max  res_time_avg  interval            create_at  \n",
       "158452        167.74         153.0        60  2019-05-07 11:14:56  \n",
       "70788         204.27         161.0        60  2019-01-22 15:44:35  \n",
       "89282         215.72         147.0        60  2019-02-13 14:29:09  \n",
       "79675         299.68         199.0        60  2019-02-01 22:11:52  \n",
       "33787         258.22         210.0        60  2018-12-10 13:57:24  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sample(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(179496, 9)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                int64\n",
       "api              object\n",
       "count             int64\n",
       "res_time_sum    float64\n",
       "res_time_min    float64\n",
       "res_time_max    float64\n",
       "res_time_avg    float64\n",
       "interval          int64\n",
       "create_at        object\n",
       "dtype: object"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 9 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   api           179496 non-null  object \n",
      " 2   count         179496 non-null  int64  \n",
      " 3   res_time_sum  179496 non-null  float64\n",
      " 4   res_time_min  179496 non-null  float64\n",
      " 5   res_time_max  179496 non-null  float64\n",
      " 6   res_time_avg  179496 non-null  float64\n",
      " 7   interval      179496 non-null  int64  \n",
      " 8   create_at     179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(2)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info() # 查看内存占用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                     179496\n",
       "unique                         1\n",
       "top       /front-api/bill/create\n",
       "freq                      179496\n",
       "Name: api, dtype: object"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['api'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>create_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id  count  res_time_sum  res_time_min  res_time_max  res_time_avg  \\\n",
       "0  2019162542      8       1057.31         88.75        177.72         132.0   \n",
       "1      162644      5        749.12        103.79        240.38         149.0   \n",
       "\n",
       "   interval            create_at  \n",
       "0        60  2018-11-01 00:00:07  \n",
       "1        60  2018-11-01 00:01:07  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df=df.drop('api',axis=1) # 优化内存，指定axis 指定删除一列\n",
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 8 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   count         179496 non-null  int64  \n",
      " 2   res_time_sum  179496 non-null  float64\n",
      " 3   res_time_min  179496 non-null  float64\n",
      " 4   res_time_max  179496 non-null  float64\n",
      " 5   res_time_avg  179496 non-null  float64\n",
      " 6   interval      179496 non-null  int64  \n",
      " 7   create_at     179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(1)\n",
      "memory usage: 11.0+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                  179496\n",
       "unique                 179496\n",
       "top       2018-11-26 14:26:59\n",
       "freq                        1\n",
       "Name: create_at, dtype: object"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['create_at'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>create_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [id, count, res_time_sum, res_time_min, res_time_max, res_time_avg, interval, create_at]\n",
       "Index: []"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df.create_at=='2018-05-01']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>create_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>21534</th>\n",
       "      <td>2077187</td>\n",
       "      <td>4</td>\n",
       "      <td>842.71</td>\n",
       "      <td>110.85</td>\n",
       "      <td>331.95</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 00:00:57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21535</th>\n",
       "      <td>2077264</td>\n",
       "      <td>3</td>\n",
       "      <td>410.90</td>\n",
       "      <td>87.20</td>\n",
       "      <td>203.27</td>\n",
       "      <td>136.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 00:01:57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21536</th>\n",
       "      <td>2077345</td>\n",
       "      <td>2</td>\n",
       "      <td>458.83</td>\n",
       "      <td>177.79</td>\n",
       "      <td>281.04</td>\n",
       "      <td>229.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 00:02:57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21537</th>\n",
       "      <td>2077378</td>\n",
       "      <td>7</td>\n",
       "      <td>1487.55</td>\n",
       "      <td>125.76</td>\n",
       "      <td>287.21</td>\n",
       "      <td>212.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 00:03:57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21538</th>\n",
       "      <td>2077536</td>\n",
       "      <td>4</td>\n",
       "      <td>614.61</td>\n",
       "      <td>101.71</td>\n",
       "      <td>232.18</td>\n",
       "      <td>153.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 00:04:57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22382</th>\n",
       "      <td>2154352</td>\n",
       "      <td>7</td>\n",
       "      <td>1159.22</td>\n",
       "      <td>105.19</td>\n",
       "      <td>269.12</td>\n",
       "      <td>165.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 23:55:59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22383</th>\n",
       "      <td>2154482</td>\n",
       "      <td>4</td>\n",
       "      <td>829.71</td>\n",
       "      <td>131.98</td>\n",
       "      <td>357.55</td>\n",
       "      <td>207.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 23:56:59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22384</th>\n",
       "      <td>2154538</td>\n",
       "      <td>3</td>\n",
       "      <td>632.37</td>\n",
       "      <td>145.00</td>\n",
       "      <td>332.17</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 23:57:59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22385</th>\n",
       "      <td>2154581</td>\n",
       "      <td>5</td>\n",
       "      <td>896.25</td>\n",
       "      <td>97.87</td>\n",
       "      <td>354.39</td>\n",
       "      <td>179.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 23:58:59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22386</th>\n",
       "      <td>2154660</td>\n",
       "      <td>2</td>\n",
       "      <td>513.91</td>\n",
       "      <td>116.01</td>\n",
       "      <td>397.90</td>\n",
       "      <td>256.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-26 23:59:59</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>853 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            id  count  res_time_sum  res_time_min  res_time_max  res_time_avg  \\\n",
       "21534  2077187      4        842.71        110.85        331.95         210.0   \n",
       "21535  2077264      3        410.90         87.20        203.27         136.0   \n",
       "21536  2077345      2        458.83        177.79        281.04         229.0   \n",
       "21537  2077378      7       1487.55        125.76        287.21         212.0   \n",
       "21538  2077536      4        614.61        101.71        232.18         153.0   \n",
       "...        ...    ...           ...           ...           ...           ...   \n",
       "22382  2154352      7       1159.22        105.19        269.12         165.0   \n",
       "22383  2154482      4        829.71        131.98        357.55         207.0   \n",
       "22384  2154538      3        632.37        145.00        332.17         210.0   \n",
       "22385  2154581      5        896.25         97.87        354.39         179.0   \n",
       "22386  2154660      2        513.91        116.01        397.90         256.0   \n",
       "\n",
       "       interval            create_at  \n",
       "21534        60  2018-11-26 00:00:57  \n",
       "21535        60  2018-11-26 00:01:57  \n",
       "21536        60  2018-11-26 00:02:57  \n",
       "21537        60  2018-11-26 00:03:57  \n",
       "21538        60  2018-11-26 00:04:57  \n",
       "...         ...                  ...  \n",
       "22382        60  2018-11-26 23:55:59  \n",
       "22383        60  2018-11-26 23:56:59  \n",
       "22384        60  2018-11-26 23:57:59  \n",
       "22385        60  2018-11-26 23:58:59  \n",
       "22386        60  2018-11-26 23:59:59  \n",
       "\n",
       "[853 rows x 8 columns]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[(df.create_at>='2018-11-26') &(df.create_at<='2018-11-27') ]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RangeIndex(start=0, stop=179496, step=1)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index # 查看当前索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.index=df['create_at']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'dt' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-23-8a5275cebc97>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m: name 'dt' is not defined"
     ]
    }
   ],
   "source": [
    "dt.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['2018-11-01 00:00:07', '2018-11-01 00:01:07', '2018-11-01 00:02:07',\n",
       "       '2018-11-01 00:03:07', '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "       '2018-11-01 00:06:07', '2018-11-01 00:07:07', '2018-11-01 00:08:07',\n",
       "       '2018-11-01 00:09:07',\n",
       "       ...\n",
       "       '2019-05-30 23:01:21', '2019-05-30 23:02:21', '2019-05-30 23:03:21',\n",
       "       '2019-05-30 23:04:21', '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "       '2019-05-30 23:07:21', '2019-05-30 23:08:21', '2019-05-30 23:09:21',\n",
       "       '2019-05-30 23:10:21'],\n",
       "      dtype='object', name='create_at', length=179496)"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 179496 entries, 2018-11-01 00:00:07 to 2019-05-30 23:10:21\n",
      "Data columns (total 8 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   count         179496 non-null  int64  \n",
      " 2   res_time_sum  179496 non-null  float64\n",
      " 3   res_time_min  179496 non-null  float64\n",
      " 4   res_time_max  179496 non-null  float64\n",
      " 5   res_time_avg  179496 non-null  float64\n",
      " 6   interval      179496 non-null  int64  \n",
      " 7   create_at     179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(1)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.index=pd.to_datetime(df.create_at)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2018-11-01 00:00:07', '2018-11-01 00:01:07',\n",
       "               '2018-11-01 00:02:07', '2018-11-01 00:03:07',\n",
       "               '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "               '2018-11-01 00:06:07', '2018-11-01 00:07:07',\n",
       "               '2018-11-01 00:08:07', '2018-11-01 00:09:07',\n",
       "               ...\n",
       "               '2019-05-30 23:01:21', '2019-05-30 23:02:21',\n",
       "               '2019-05-30 23:03:21', '2019-05-30 23:04:21',\n",
       "               '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "               '2019-05-30 23:07:21', '2019-05-30 23:08:21',\n",
       "               '2019-05-30 23:09:21', '2019-05-30 23:10:21'],\n",
       "              dtype='datetime64[ns]', name='create_at', length=179496, freq=None)"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>create_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>create_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:00:48</th>\n",
       "      <td>11406128</td>\n",
       "      <td>6</td>\n",
       "      <td>2105.08</td>\n",
       "      <td>125.74</td>\n",
       "      <td>992.46</td>\n",
       "      <td>350.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:00:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:01:48</th>\n",
       "      <td>11406236</td>\n",
       "      <td>7</td>\n",
       "      <td>2579.11</td>\n",
       "      <td>76.55</td>\n",
       "      <td>987.47</td>\n",
       "      <td>368.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:01:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:02:48</th>\n",
       "      <td>11406347</td>\n",
       "      <td>7</td>\n",
       "      <td>1277.79</td>\n",
       "      <td>109.65</td>\n",
       "      <td>236.73</td>\n",
       "      <td>182.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:02:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:03:48</th>\n",
       "      <td>11406446</td>\n",
       "      <td>7</td>\n",
       "      <td>2137.20</td>\n",
       "      <td>131.55</td>\n",
       "      <td>920.52</td>\n",
       "      <td>305.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:03:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:04:48</th>\n",
       "      <td>11406488</td>\n",
       "      <td>13</td>\n",
       "      <td>2948.70</td>\n",
       "      <td>86.42</td>\n",
       "      <td>491.31</td>\n",
       "      <td>226.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:04:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:55:49</th>\n",
       "      <td>11475363</td>\n",
       "      <td>6</td>\n",
       "      <td>1083.97</td>\n",
       "      <td>70.85</td>\n",
       "      <td>262.22</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:55:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:56:49</th>\n",
       "      <td>11475483</td>\n",
       "      <td>4</td>\n",
       "      <td>840.00</td>\n",
       "      <td>117.31</td>\n",
       "      <td>382.63</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:56:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:57:49</th>\n",
       "      <td>11475550</td>\n",
       "      <td>2</td>\n",
       "      <td>295.51</td>\n",
       "      <td>101.71</td>\n",
       "      <td>193.80</td>\n",
       "      <td>147.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:57:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:58:49</th>\n",
       "      <td>11475597</td>\n",
       "      <td>2</td>\n",
       "      <td>431.99</td>\n",
       "      <td>84.43</td>\n",
       "      <td>347.56</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:58:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:59:49</th>\n",
       "      <td>11475664</td>\n",
       "      <td>3</td>\n",
       "      <td>428.84</td>\n",
       "      <td>103.58</td>\n",
       "      <td>206.57</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:59:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>884 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                           id  count  res_time_sum  res_time_min  \\\n",
       "create_at                                                          \n",
       "2019-05-01 00:00:48  11406128      6       2105.08        125.74   \n",
       "2019-05-01 00:01:48  11406236      7       2579.11         76.55   \n",
       "2019-05-01 00:02:48  11406347      7       1277.79        109.65   \n",
       "2019-05-01 00:03:48  11406446      7       2137.20        131.55   \n",
       "2019-05-01 00:04:48  11406488     13       2948.70         86.42   \n",
       "...                       ...    ...           ...           ...   \n",
       "2019-05-01 23:55:49  11475363      6       1083.97         70.85   \n",
       "2019-05-01 23:56:49  11475483      4        840.00        117.31   \n",
       "2019-05-01 23:57:49  11475550      2        295.51        101.71   \n",
       "2019-05-01 23:58:49  11475597      2        431.99         84.43   \n",
       "2019-05-01 23:59:49  11475664      3        428.84        103.58   \n",
       "\n",
       "                     res_time_max  res_time_avg  interval            create_at  \n",
       "create_at                                                                       \n",
       "2019-05-01 00:00:48        992.46         350.0        60  2019-05-01 00:00:48  \n",
       "2019-05-01 00:01:48        987.47         368.0        60  2019-05-01 00:01:48  \n",
       "2019-05-01 00:02:48        236.73         182.0        60  2019-05-01 00:02:48  \n",
       "2019-05-01 00:03:48        920.52         305.0        60  2019-05-01 00:03:48  \n",
       "2019-05-01 00:04:48        491.31         226.0        60  2019-05-01 00:04:48  \n",
       "...                           ...           ...       ...                  ...  \n",
       "2019-05-01 23:55:49        262.22         180.0        60  2019-05-01 23:55:49  \n",
       "2019-05-01 23:56:49        382.63         210.0        60  2019-05-01 23:56:49  \n",
       "2019-05-01 23:57:49        193.80         147.0        60  2019-05-01 23:57:49  \n",
       "2019-05-01 23:58:49        347.56         215.0        60  2019-05-01 23:58:49  \n",
       "2019-05-01 23:59:49        206.57         142.0        60  2019-05-01 23:59:49  \n",
       "\n",
       "[884 rows x 8 columns]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['2019-5-1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    179496.0\n",
       "mean         60.0\n",
       "std           0.0\n",
       "min          60.0\n",
       "25%          60.0\n",
       "50%          60.0\n",
       "75%          60.0\n",
       "max          60.0\n",
       "Name: interval, dtype: float64"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.interval.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([60], dtype=int64)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.interval.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>create_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>create_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "create_at                                                              \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "\n",
       "                     res_time_avg            create_at  \n",
       "create_at                                               \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07  "
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df=df.drop(['id','interval'],axis=1)\n",
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "DatetimeIndex: 179496 entries, 2018-11-01 00:00:07 to 2019-05-30 23:10:21\n",
      "Data columns (total 6 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   count         179496 non-null  int64  \n",
      " 1   res_time_sum  179496 non-null  float64\n",
      " 2   res_time_min  179496 non-null  float64\n",
      " 3   res_time_max  179496 non-null  float64\n",
      " 4   res_time_avg  179496 non-null  float64\n",
      " 5   create_at     179496 non-null  object \n",
      "dtypes: float64(4), int64(1), object(1)\n",
      "memory usage: 9.6+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>7.175909</td>\n",
       "      <td>1393.177832</td>\n",
       "      <td>108.419626</td>\n",
       "      <td>359.880374</td>\n",
       "      <td>187.812208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>4.325160</td>\n",
       "      <td>1499.486073</td>\n",
       "      <td>79.640693</td>\n",
       "      <td>638.919827</td>\n",
       "      <td>224.464813</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>3.210000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>36.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>4.000000</td>\n",
       "      <td>607.707500</td>\n",
       "      <td>83.410000</td>\n",
       "      <td>198.280000</td>\n",
       "      <td>144.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>7.000000</td>\n",
       "      <td>1154.905000</td>\n",
       "      <td>97.120000</td>\n",
       "      <td>256.090000</td>\n",
       "      <td>167.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>10.000000</td>\n",
       "      <td>1834.117500</td>\n",
       "      <td>116.990000</td>\n",
       "      <td>374.410000</td>\n",
       "      <td>202.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>31.000000</td>\n",
       "      <td>142650.550000</td>\n",
       "      <td>18896.640000</td>\n",
       "      <td>142468.270000</td>\n",
       "      <td>71325.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               count   res_time_sum   res_time_min   res_time_max  \\\n",
       "count  179496.000000  179496.000000  179496.000000  179496.000000   \n",
       "mean        7.175909    1393.177832     108.419626     359.880374   \n",
       "std         4.325160    1499.486073      79.640693     638.919827   \n",
       "min         1.000000      36.550000       3.210000      36.550000   \n",
       "25%         4.000000     607.707500      83.410000     198.280000   \n",
       "50%         7.000000    1154.905000      97.120000     256.090000   \n",
       "75%        10.000000    1834.117500     116.990000     374.410000   \n",
       "max        31.000000  142650.550000   18896.640000  142468.270000   \n",
       "\n",
       "        res_time_avg  \n",
       "count  179496.000000  \n",
       "mean      187.812208  \n",
       "std       224.464813  \n",
       "min        36.000000  \n",
       "25%       144.000000  \n",
       "50%       167.000000  \n",
       "75%       202.000000  \n",
       "max     71325.000000  "
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAD4CAYAAADsKpHdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAARRElEQVR4nO3df6jd9X3H8eeribMhra0/L5lxi5thTM1mZ3BCx7gs3czqWNzQkdLVCBkZYsFCYIv9p+0gEMesxVGFbBaja6vBtjNUZJPYS1fQ2NjZptE5w8w0NRis1noLOq9974/zudvJzc29J8k155zr8wGHc877fD/f83nzvfe+7vf7PT9SVUiS9J5+T0CSNBgMBEkSYCBIkhoDQZIEGAiSpGZhvydwvM4666xatmzZYbWf/exnLF68uD8TmmP2MnjmSx9gL4PqZPTyxBNPvFxVZ0/32NAGwrJly9i9e/dhtbGxMUZHR/szoTlmL4NnvvQB9jKoTkYvSf77aI95yEiSBBgIkqTGQJAkAQaCJKkxECRJgIEgSWoMBEkSYCBIkhoDQZIEDPE7lXVslm16sG/Pfdfq+fGxAtJ8ZyCcZL3+Yd64YoLr+vhHXNK7j4eMJEmAgSBJagwESRJgIEiSGgNBkgQYCJKkxkCQJAHv0vch9PNNWpI0qNxDkCQBBoIkqTEQJEmAgSBJanoOhCQLkvx7km+2+2ckeTjJs+369K5lb0qyL8kzSa7oql+aZE977LYkafVTk9zX6ruSLJu7FiVJvTiWPYQbgae77m8CdlbVcmBnu0+SC4G1wEXAauD2JAvamDuADcDydlnd6uuBV6vqAuBW4Obj6kaSdNx6CoQkS4ErgX/sKq8BtrXb24Cruur3VtWbVfUcsA+4LMkS4LSqerSqCrh7ypjJdd0PrJrce5AknRy9vg/hC8BfAe/vqo1U1UGAqjqY5JxWPxd4rGu5A632Vrs9tT455oW2rokkrwFnAi93TyLJBjp7GIyMjDA2NnbYJMfHx4+oTWfjiolZl+m3kUXDMc9e9LpdBt186QPsZVD1u5dZAyHJHwGHquqJJKM9rHO6/+xrhvpMYw4vVG0FtgKsXLmyRkcPn87Y2BhTa9MZhi+e2bhiglv2zI/3Dd61enFP22XQ9frzNQzsZTD1u5de/uJ8GPjjJB8F3gucluSfgJeSLGl7B0uAQ235A8B5XeOXAi+2+tJp6t1jDiRZCHwAeOU4e5IkHYdZzyFU1U1VtbSqltE5WfxIVf05sANY1xZbBzzQbu8A1rZXDp1P5+Tx4+3w0utJLm/nB66dMmZyXVe35zhiD0GS9M45kWMSW4DtSdYDzwPXAFTV3iTbgaeACeCGqnq7jbkeuAtYBDzULgB3Avck2Udnz2DtCcxLknQcjikQqmoMGGu3fwysOspym4HN09R3AxdPU3+DFiiSpP7wncqSJMBAkCQ1BoIkCTAQJEmNgSBJAgwESVJjIEiSAANBktQYCJIkwECQJDUGgiQJMBAkSY2BIEkCDARJUmMgSJIAA0GS1BgIkiTAQJAkNQaCJAkwECRJjYEgSQIMBElSYyBIkgADQZLUGAiSJMBAkCQ1BoIkCTAQJEmNgSBJAgwESVJjIEiSAANBktQYCJIkwECQJDUGgiQJMBAkSY2BIEkCDARJUjNrICR5b5LHk3w/yd4kn2v1M5I8nOTZdn1615ibkuxL8kySK7rqlybZ0x67LUla/dQk97X6riTL5r5VSdJMetlDeBP4var6TeASYHWSy4FNwM6qWg7sbPdJciGwFrgIWA3cnmRBW9cdwAZgebusbvX1wKtVdQFwK3DzHPQmSToGswZCdYy3u6e0SwFrgG2tvg24qt1eA9xbVW9W1XPAPuCyJEuA06rq0aoq4O4pYybXdT+wanLvQZJ0cizsZaH2H/4TwAXAF6tqV5KRqjoIUFUHk5zTFj8XeKxr+IFWe6vdnlqfHPNCW9dEkteAM4GXp8xjA509DEZGRhgbGztsnuPj40fUprNxxcSsy/TbyKLhmGcvet0ug26+9AH2Mqj63UtPgVBVbwOXJPkg8I0kF8+w+HT/2dcM9ZnGTJ3HVmArwMqVK2t0dPSwx8fGxpham851mx6cdZl+27higlv29LR5Bt5dqxf3tF0GXa8/X8PAXgZTv3s5plcZVdVPgDE6x/5faoeBaNeH2mIHgPO6hi0FXmz1pdPUDxuTZCHwAeCVY5mbJOnEzPovaJKzgbeq6idJFgEfoXPSdwewDtjSrh9oQ3YAX0nyeeAX6Zw8fryq3k7yejshvQu4Fvj7rjHrgEeBq4FH2nkGzQN7fvRaX/bK9m+58qQ/pzTMejkmsQTY1s4jvAfYXlXfTPIosD3JeuB54BqAqtqbZDvwFDAB3NAOOQFcD9wFLAIeaheAO4F7kuyjs2ewdi6akyT1btZAqKofAB+apv5jYNVRxmwGNk9T3w0ccf6hqt6gBYokqT98p7IkCTAQJEmNgSBJAgwESVJjIEiSAANBktQYCJIkwECQJDUGgiQJMBAkSY2BIEkCDARJUmMgSJIAA0GS1BgIkiTAQJAkNQaCJAkwECRJjYEgSQIMBElSYyBIkgADQZLUGAiSJMBAkCQ1BoIkCTAQJEmNgSBJAgwESVJjIEiSAANBktQYCJIkwECQJDUGgiQJMBAkSY2BIEkCDARJUmMgSJIAA0GS1BgIkiSgh0BIcl6SbyV5OsneJDe2+hlJHk7ybLs+vWvMTUn2JXkmyRVd9UuT7GmP3ZYkrX5qkvtafVeSZXPfqiRpJr3sIUwAG6vq14HLgRuSXAhsAnZW1XJgZ7tPe2wtcBGwGrg9yYK2rjuADcDydlnd6uuBV6vqAuBW4OY56E2SdAxmDYSqOlhV32u3XweeBs4F1gDb2mLbgKva7TXAvVX1ZlU9B+wDLkuyBDitqh6tqgLunjJmcl33A6sm9x4kSSfHwmNZuB3K+RCwCxipqoPQCY0k57TFzgUe6xp2oNXearen1ifHvNDWNZHkNeBM4OUpz7+Bzh4GIyMjjI2NHTa/8fHxI2rT2bhiYtZl+m1k0XDMsxf96qWXn4Vj0evP1zCwl8HU7156DoQk7wO+Bnyqqn46wz/w0z1QM9RnGnN4oWorsBVg5cqVNTo6etjjY2NjTK1N57pND866TL9tXDHBLXuOKa8HVr962f/x0TldX68/X8PAXgZTv3vp6VVGSU6hEwZfrqqvt/JL7TAQ7fpQqx8AzusavhR4sdWXTlM/bEyShcAHgFeOtRlJ0vHr5VVGAe4Enq6qz3c9tANY126vAx7oqq9trxw6n87J48fb4aXXk1ze1nntlDGT67oaeKSdZ5AknSS97Md/GPgEsCfJk632aWALsD3JeuB54BqAqtqbZDvwFJ1XKN1QVW+3cdcDdwGLgIfaBTqBc0+SfXT2DNaeYF+SpGM0ayBU1XeY/hg/wKqjjNkMbJ6mvhu4eJr6G7RAkST1h+9UliQBBoIkqTEQJEmAgSBJagwESRJgIEiSGgNBkgQYCJKkxkCQJAEGgiSpMRAkSYCBIElqDARJEmAgSJIaA0GSBBgIkqTGQJAkAQaCJKkxECRJgIEgSWoMBEkSYCBIkpqF/Z6A9E5ZtunBOV3fxhUTXNfDOvdvuXJOn1c6WdxDkCQBBoIkqTEQJEmAgSBJagwESRJgIEiSGgNBkgQYCJKkxkCQJAEGgiSpMRAkSYCBIElqDARJEmAgSJIaA0GSBPQQCEm+lORQkh921c5I8nCSZ9v16V2P3ZRkX5JnklzRVb80yZ722G1J0uqnJrmv1XclWTa3LUqSetHLHsJdwOoptU3AzqpaDuxs90lyIbAWuKiNuT3JgjbmDmADsLxdJte5Hni1qi4AbgVuPt5mJEnHb9ZAqKpvA69MKa8BtrXb24Cruur3VtWbVfUcsA+4LMkS4LSqerSqCrh7ypjJdd0PrJrce5AknTzH+xWaI1V1EKCqDiY5p9XPBR7rWu5Aq73Vbk+tT455oa1rIslrwJnAy1OfNMkGOnsZjIyMMDY2dtjj4+PjR9Sms3HFxKzL9NvIouGYZy/mSy+99tHLz2C/9fq7MgzsZe7M9XcqT/effc1Qn2nMkcWqrcBWgJUrV9bo6Ohhj4+NjTG1Np1evhe33zaumOCWPfPjK6/nSy+99rH/46Pv/GROUK+/K8PAXubO8b7K6KV2GIh2fajVDwDndS23FHix1ZdOUz9sTJKFwAc48hCVJOkddryBsANY126vAx7oqq9trxw6n87J48fb4aXXk1zezg9cO2XM5LquBh5p5xkkSSfRrPu/Sb4KjAJnJTkAfAbYAmxPsh54HrgGoKr2JtkOPAVMADdU1dttVdfTecXSIuChdgG4E7gnyT46ewZr56QzSdIxmTUQqupjR3lo1VGW3wxsnqa+G7h4mvobtECRJPWP71SWJAEGgiSpMRAkSYCBIElqDARJEmAgSJIaA0GSBBgIkqTGQJAkAQaCJKkxECRJgIEgSWoMBEkSYCBIkhoDQZIEGAiSpMZAkCQBPXxjmqRjs2zTg3177v1bruzbc2v4uYcgSQIMBElSYyBIkgADQZLUGAiSJMBAkCQ1BoIkCTAQJEmNgSBJAgwESVJjIEiSAANBktQYCJIkwECQJDUGgiQJMBAkSY2BIEkC/MY0aV7p9dvaNq6Y4Lo5/GY3v6ltfnAPQZIEGAiSpMZAkCQBAxQISVYneSbJviSb+j0fSXq3GYiTykkWAF8Efh84AHw3yY6qeqq/M5PUi15PZr8T7lq9uG/PPd8MRCAAlwH7quq/AJLcC6wBDARJM9rzo9fm9BVTvZqPr6xKVfV7DiS5GlhdVX/R7n8C+O2q+uSU5TYAG9rdXwOembKqs4CX3+Hpniz2MnjmSx9gL4PqZPTyy1V19nQPDMoeQqapHZFUVbUV2HrUlSS7q2rlXE6sX+xl8MyXPsBeBlW/exmUk8oHgPO67i8FXuzTXCTpXWlQAuG7wPIk5yf5BWAtsKPPc5Kkd5WBOGRUVRNJPgn8C7AA+FJV7T2OVR31cNIQspfBM1/6AHsZVH3tZSBOKkuS+m9QDhlJkvrMQJAkAfMoEObTR18k2Z9kT5Ink+zu93x6leRLSQ4l+WFX7YwkDyd5tl2f3s859uoovXw2yY/adnkyyUf7OcdeJDkvybeSPJ1kb5IbW33otssMvQzjdnlvkseTfL/18rlW7+t2mRfnENpHX/wnXR99AXxsWD/6Isl+YGVVDdWbbZL8LjAO3F1VF7fa3wKvVNWWFtSnV9Vf93OevThKL58Fxqvq7/o5t2ORZAmwpKq+l+T9wBPAVcB1DNl2maGXP2P4tkuAxVU1nuQU4DvAjcCf0sftMl/2EP7voy+q6n+AyY++0ElUVd8GXplSXgNsa7e30fkFHnhH6WXoVNXBqvpeu/068DRwLkO4XWboZehUx3i7e0q7FH3eLvMlEM4FXui6f4Ah/UFpCvjXJE+0j+sYZiNVdRA6v9DAOX2ez4n6ZJIftENKA3+YpVuSZcCHgF0M+XaZ0gsM4XZJsiDJk8Ah4OGq6vt2mS+B0NNHXwyRD1fVbwF/CNzQDl+o/+4AfhW4BDgI3NLf6fQuyfuArwGfqqqf9ns+J2KaXoZyu1TV21V1CZ1PZrgsycX9ntN8CYR59dEXVfViuz4EfIPOIbFh9VI79jt5DPhQn+dz3KrqpfZL/HPgHxiS7dKOUX8N+HJVfb2Vh3K7TNfLsG6XSVX1E2AMWE2ft8t8CYR589EXSRa3E2YkWQz8AfDDmUcNtB3AunZ7HfBAH+dyQiZ/UZs/YQi2Szt5eSfwdFV9vuuhodsuR+tlSLfL2Uk+2G4vAj4C/Ad93i7z4lVGAO2lZl/g/z/6YnOfp3RckvwKnb0C6Hy0yFeGpZckXwVG6XyE70vAZ4B/BrYDvwQ8D1xTVQN/svYovYzSOSxRwH7gLyeP9w6qJL8D/BuwB/h5K3+azrH3odouM/TyMYZvu/wGnZPGC+j8Y769qv4myZn0cbvMm0CQJJ2Y+XLISJJ0ggwESRJgIEiSGgNBkgQYCJKkxkCQJAEGgiSp+V9t69IhYiTk4AAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['count'].hist() # 初步分析Count,直方图hist\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 表示接口调用分布情况，大部分都在10次以内，反映出每分钟调用的次数分布情况\n",
    "df['count'].hist(bins = 30)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 切出一天的数据，绘制一天的时段接口调用情况\n",
    "df['2019-5-1']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 凌晨时间无人访问，下午2-3点第一个访问高峰，晚上8-9点第二个访问高峰"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 用count 采样，用一个小时进行采样，没那么多数据点，图像比较平滑\n",
    "df2=df['2019-5-1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>create_at</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:00:00</th>\n",
       "      <td>4.428571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 01:00:00</th>\n",
       "      <td>2.272727</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 02:00:00</th>\n",
       "      <td>1.833333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 03:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 04:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 05:00:00</th>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 06:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 07:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 08:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 09:00:00</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 10:00:00</th>\n",
       "      <td>1.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 11:00:00</th>\n",
       "      <td>1.604651</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 12:00:00</th>\n",
       "      <td>3.298246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 13:00:00</th>\n",
       "      <td>6.866667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 14:00:00</th>\n",
       "      <td>10.483333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 15:00:00</th>\n",
       "      <td>12.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 16:00:00</th>\n",
       "      <td>9.916667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 17:00:00</th>\n",
       "      <td>7.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 18:00:00</th>\n",
       "      <td>6.783333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:00:00</th>\n",
       "      <td>9.850000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 20:00:00</th>\n",
       "      <td>11.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 21:00:00</th>\n",
       "      <td>10.416667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 22:00:00</th>\n",
       "      <td>8.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:00:00</th>\n",
       "      <td>5.083333</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         count\n",
       "create_at                     \n",
       "2019-05-01 00:00:00   4.428571\n",
       "2019-05-01 01:00:00   2.272727\n",
       "2019-05-01 02:00:00   1.833333\n",
       "2019-05-01 03:00:00        NaN\n",
       "2019-05-01 04:00:00        NaN\n",
       "2019-05-01 05:00:00   2.000000\n",
       "2019-05-01 06:00:00        NaN\n",
       "2019-05-01 07:00:00        NaN\n",
       "2019-05-01 08:00:00        NaN\n",
       "2019-05-01 09:00:00   1.000000\n",
       "2019-05-01 10:00:00   1.400000\n",
       "2019-05-01 11:00:00   1.604651\n",
       "2019-05-01 12:00:00   3.298246\n",
       "2019-05-01 13:00:00   6.866667\n",
       "2019-05-01 14:00:00  10.483333\n",
       "2019-05-01 15:00:00  12.333333\n",
       "2019-05-01 16:00:00   9.916667\n",
       "2019-05-01 17:00:00   7.666667\n",
       "2019-05-01 18:00:00   6.783333\n",
       "2019-05-01 19:00:00   9.850000\n",
       "2019-05-01 20:00:00  11.000000\n",
       "2019-05-01 21:00:00  10.416667\n",
       "2019-05-01 22:00:00   8.000000\n",
       "2019-05-01 23:00:00   5.083333"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2=df2[['count']].resample('1h').mean()\n",
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 折线图 和 直方图 可以看到业务高峰时段在什么地方，分不清具体的时间，绘制柱状图\n",
    "plt.figure(figsize=(10,3))# 单位英寸\n",
    "df2['count'].plot(kind='bar')\n",
    "plt.xticks(rotation=60) #倾斜\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 分析有没有异常时段 访问接口过于频繁，可能就是黑客潮水攻击\n",
    "df['2019-5-1'][['count']].boxplot(showmeans = True,meanline = True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>create_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>create_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 20:47:09</th>\n",
       "      <td>21</td>\n",
       "      <td>3117.20</td>\n",
       "      <td>84.90</td>\n",
       "      <td>260.82</td>\n",
       "      <td>148.0</td>\n",
       "      <td>2018-11-01 20:47:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:03:09</th>\n",
       "      <td>21</td>\n",
       "      <td>3706.20</td>\n",
       "      <td>78.12</td>\n",
       "      <td>321.47</td>\n",
       "      <td>176.0</td>\n",
       "      <td>2018-11-01 21:03:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:13:09</th>\n",
       "      <td>24</td>\n",
       "      <td>4602.03</td>\n",
       "      <td>76.31</td>\n",
       "      <td>391.12</td>\n",
       "      <td>191.0</td>\n",
       "      <td>2018-11-01 21:13:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-02 21:34:11</th>\n",
       "      <td>30</td>\n",
       "      <td>4610.15</td>\n",
       "      <td>72.49</td>\n",
       "      <td>463.41</td>\n",
       "      <td>153.0</td>\n",
       "      <td>2018-11-02 21:34:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-03 14:20:13</th>\n",
       "      <td>21</td>\n",
       "      <td>3113.93</td>\n",
       "      <td>74.29</td>\n",
       "      <td>266.20</td>\n",
       "      <td>148.0</td>\n",
       "      <td>2018-11-03 14:20:13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:33:21</th>\n",
       "      <td>27</td>\n",
       "      <td>6456.64</td>\n",
       "      <td>99.65</td>\n",
       "      <td>978.91</td>\n",
       "      <td>239.0</td>\n",
       "      <td>2019-05-30 21:33:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:43:21</th>\n",
       "      <td>21</td>\n",
       "      <td>6371.84</td>\n",
       "      <td>65.98</td>\n",
       "      <td>1175.37</td>\n",
       "      <td>303.0</td>\n",
       "      <td>2019-05-30 21:43:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:47:21</th>\n",
       "      <td>21</td>\n",
       "      <td>3992.83</td>\n",
       "      <td>87.83</td>\n",
       "      <td>440.88</td>\n",
       "      <td>190.0</td>\n",
       "      <td>2019-05-30 21:47:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:53:21</th>\n",
       "      <td>24</td>\n",
       "      <td>8467.02</td>\n",
       "      <td>120.22</td>\n",
       "      <td>1511.17</td>\n",
       "      <td>352.0</td>\n",
       "      <td>2019-05-30 21:53:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 22:17:21</th>\n",
       "      <td>21</td>\n",
       "      <td>4926.35</td>\n",
       "      <td>85.01</td>\n",
       "      <td>826.90</td>\n",
       "      <td>234.0</td>\n",
       "      <td>2019-05-30 22:17:21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>746 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "create_at                                                              \n",
       "2018-11-01 20:47:09     21       3117.20         84.90        260.82   \n",
       "2018-11-01 21:03:09     21       3706.20         78.12        321.47   \n",
       "2018-11-01 21:13:09     24       4602.03         76.31        391.12   \n",
       "2018-11-02 21:34:11     30       4610.15         72.49        463.41   \n",
       "2018-11-03 14:20:13     21       3113.93         74.29        266.20   \n",
       "...                    ...           ...           ...           ...   \n",
       "2019-05-30 21:33:21     27       6456.64         99.65        978.91   \n",
       "2019-05-30 21:43:21     21       6371.84         65.98       1175.37   \n",
       "2019-05-30 21:47:21     21       3992.83         87.83        440.88   \n",
       "2019-05-30 21:53:21     24       8467.02        120.22       1511.17   \n",
       "2019-05-30 22:17:21     21       4926.35         85.01        826.90   \n",
       "\n",
       "                     res_time_avg            create_at  \n",
       "create_at                                               \n",
       "2018-11-01 20:47:09         148.0  2018-11-01 20:47:09  \n",
       "2018-11-01 21:03:09         176.0  2018-11-01 21:03:09  \n",
       "2018-11-01 21:13:09         191.0  2018-11-01 21:13:09  \n",
       "2018-11-02 21:34:11         153.0  2018-11-02 21:34:11  \n",
       "2018-11-03 14:20:13         148.0  2018-11-03 14:20:13  \n",
       "...                           ...                  ...  \n",
       "2019-05-30 21:33:21         239.0  2019-05-30 21:33:21  \n",
       "2019-05-30 21:43:21         303.0  2019-05-30 21:43:21  \n",
       "2019-05-30 21:47:21         190.0  2019-05-30 21:47:21  \n",
       "2019-05-30 21:53:21         352.0  2019-05-30 21:53:21  \n",
       "2019-05-30 22:17:21         234.0  2019-05-30 22:17:21  \n",
       "\n",
       "[746 rows x 6 columns]"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['count']>20]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 某一天的响应时间，平均响应时间\n",
    "df['2019-5-1']['res_time_avg'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-5-1'][['res_time_avg']].boxplot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\program files (x86)\\microsoft visual studio\\shared\\python37_64\\lib\\site-packages\\ipykernel_launcher.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n",
      "  \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>create_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>create_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:34:48</th>\n",
       "      <td>1</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.0</td>\n",
       "      <td>2019-05-01 00:34:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 14:00:49</th>\n",
       "      <td>17</td>\n",
       "      <td>19770.18</td>\n",
       "      <td>207.54</td>\n",
       "      <td>2974.52</td>\n",
       "      <td>1162.0</td>\n",
       "      <td>2019-05-01 14:00:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 18:36:49</th>\n",
       "      <td>8</td>\n",
       "      <td>8799.92</td>\n",
       "      <td>96.59</td>\n",
       "      <td>3233.26</td>\n",
       "      <td>1099.0</td>\n",
       "      <td>2019-05-01 18:36:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:09:49</th>\n",
       "      <td>6</td>\n",
       "      <td>7399.94</td>\n",
       "      <td>307.39</td>\n",
       "      <td>3153.02</td>\n",
       "      <td>1233.0</td>\n",
       "      <td>2019-05-01 19:09:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:10:49</th>\n",
       "      <td>13</td>\n",
       "      <td>23595.60</td>\n",
       "      <td>206.20</td>\n",
       "      <td>4664.84</td>\n",
       "      <td>1815.0</td>\n",
       "      <td>2019-05-01 19:10:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 20:38:49</th>\n",
       "      <td>15</td>\n",
       "      <td>16169.25</td>\n",
       "      <td>142.47</td>\n",
       "      <td>3624.26</td>\n",
       "      <td>1077.0</td>\n",
       "      <td>2019-05-01 20:38:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "create_at                                                              \n",
       "2019-05-01 00:34:48      1       1694.47       1694.47       1694.47   \n",
       "2019-05-01 14:00:49     17      19770.18        207.54       2974.52   \n",
       "2019-05-01 18:36:49      8       8799.92         96.59       3233.26   \n",
       "2019-05-01 19:09:49      6       7399.94        307.39       3153.02   \n",
       "2019-05-01 19:10:49     13      23595.60        206.20       4664.84   \n",
       "2019-05-01 20:38:49     15      16169.25        142.47       3624.26   \n",
       "\n",
       "                     res_time_avg            create_at  \n",
       "create_at                                               \n",
       "2019-05-01 00:34:48        1694.0  2019-05-01 00:34:48  \n",
       "2019-05-01 14:00:49        1162.0  2019-05-01 14:00:49  \n",
       "2019-05-01 18:36:49        1099.0  2019-05-01 18:36:49  \n",
       "2019-05-01 19:09:49        1233.0  2019-05-01 19:09:49  \n",
       "2019-05-01 19:10:49        1815.0  2019-05-01 19:10:49  \n",
       "2019-05-01 20:38:49        1077.0  2019-05-01 20:38:49  "
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2=df['2019-5-1']\n",
    "df2[df['res_time_avg']>1000]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEGCAYAAABlxeIAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO2dd5hU1fnHP++U3dnG0jsKKAp2I0LsEo2IsUVjxJioiYmJseanRtHYBTXBHkURbFiiYEMpFqQqinSQuvSlLmUXlmV32vn9ce/szs7OVmZ2Znbfz/PMM/eee+6937kzc95z3vOec8QYg6IoiqI4Ei1AURRFSQ7UICiKoiiAGgRFURTFRg2CoiiKAqhBUBRFUWxciRbQUNq2bWu6d++eaBmKoigpxbx583YaY9pFO5ayBqF79+7MnTs30TIURVFSChHZUN0xdRkpiqIogBoERVEUxUYNgqIoigKkcB9CNHw+H/n5+ZSWliZaihIFj8dD165dcbvdiZaiKEoUmpRByM/PJycnh+7duyMiiZajhGGMYdeuXeTn59OjR49Ey1EUJQpNymVUWlpKmzZt1BgkISJCmzZttPWmKElMkzIIgBqDJEa/GyWWGGOYuGQrgaDO2BwrmpxBUBSleTB+0Rb+/s58Rs9am2gpTQY1CIqipCQF+8oA2FZUlmAlTQc1CEnOs88+S0lJSfn+BRdcQGFhYQIVKYrSVFGDEEeMMQSDwYO6RqRBmDhxIi1btjxYaYqiKFVoUmGn4Tz82U8s27I3ptc8qnMLHrzo6BrzrF+/nkGDBjFgwABmz57NpZdeyueff05ZWRm//vWvefjhh9m/fz+//e1vyc/PJxAIcP/993PllVdWudbzzz/Pli1bGDBgAG3btmXq1KnlczgVFxdz/vnnc/rpp/P9999z/PHH88c//pEHH3yQHTt28M4779CvXz/279/PLbfcwpIlS/D7/Tz00ENccsklUbX/9NNP/PGPf8Tr9RIMBvnwww9xu91ceOGFLF26FIDhw4dTXFzMQw89xNlnn82JJ57IvHnzKCgo4K233uLxxx9nyZIlXHnllTz22GMH/9AVRWk0mqxBSCQrV67k9ddf59JLL2XcuHHMmTMHYwwXX3wxM2bMoKCggM6dOzNhwgQAioqKol7n1ltv5emnn2bq1Km0bdu2yvG8vDzGjh3LyJEjOfnkk3n33XeZNWsW48ePZ9iwYXzyyScMHTqUX/ziF7z22msUFhbSr18/zj33XLKysqpc7+WXX+a2227j6quvxuv1EggE2L59e42fNS0tjRkzZvDcc89xySWXMG/ePFq3bs1hhx3GP/7xD9q0adOAJ6godUeD12JHkzUItdXk48mhhx7Kz3/+c+68806+/PJLTjzxRACKi4tZvXo1Z5xxBnfeeSd33303F154IWeccUaD7tOjRw+OPfZYAI4++mjOOeccRIRjjz2W9evXA/Dll18yfvx4hg8fDlhjNTZu3EifPn2qXO+UU05h6NCh5Ofnc9lll9GrV69aNVx88cUAHHvssRx99NF06tQJgJ49e7Jp0yY1CErcMRp1GjOarEFIJKHatzGGIUOG8Ne//rVKnnnz5jFx4kSGDBnCeeedxwMPPFDv+6Snp5dvOxyO8n2Hw4Hf7y/X8OGHH3LkkUfWer3f/e539O/fnwkTJjBw4EBGjRrFEUccUakfJHJgWfg9I/WENCiKkhpop3IcGThwIK+99hrFxcUAbN68mR07drBlyxYyMzP5/e9/z5133sn8+fOrvUZOTg779u07KA0vvPACxq5GLViwoNq8a9eupWfPntx6661cfPHFLF68mA4dOrBjxw527dpFWVkZn3/+eYO1KEo8UJdR7NAWQhw577zzWL58OaeccgoA2dnZvP322+Tl5XHXXXfhcDhwu92MGDGi2mvccMMNDBo0iE6dOjF16tR6a7j//vu5/fbbOe644zDG0L1792oL9ffff5+3334bt9tNx44deeCBB3C73TzwwAP079+fHj160Lt373prUBQlNRCTog64vn37msgV05YvXx7VN64kD/odKbFi1My1PDZhOdef3oP7Lzwq0XJSBhGZZ4zpG+2YuowURUlJUrQum9SoyyhJ+PWvf826desqpT355JMMHDgw5vf64osvuPvuuyul9ejRg48//jjm91IUJXVQg5AkNGZhPHDgwLgYGkVRUht1GSmKktJokFHsUIOgKEpKo10JsUMNgqIoigKoQVAURVFs1CAkOcm4HsIDDzzA119/nVANiqLEHjUIcaSprofwyCOPcO655yZUg6KE0E7l2NF0w04n3QPblsT2mh2PhUFP1JgllddDeOONN/jkk08IBAIsXbqUO+64A6/Xy5gxY0hPT2fi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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 2019-05-01 00:34:48 数据定义为异常值\n",
    "df['2019-05-01'][['res_time_sum','res_time_min','res_time_max','res_time_avg']].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data=df['2019-05-01'].resample('20t').mean()\n",
    "data[['res_time_sum','res_time_min','res_time_max','res_time_avg']].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 业务高峰时段下午2点-3点 ，晚上7-8点，响应时间都是上升的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-5-1':'2019-5-10']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
       "            ...\n",
       "            3, 3, 3, 3, 3, 3, 3, 3, 3, 3],\n",
       "           dtype='int64', name='create_at', length=865)"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 每天的调用情况差不多，下面看看，周末和平常是否一样\n",
    "df['2019-5-2'].index.weekday # 0=周一   1=周二。。。。5=周六  6=周日"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['weekday']=df.index.weekday"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>create_at</th>\n",
       "      <th>weekday</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>create_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "create_at                                                              \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "\n",
       "                     res_time_avg            create_at  weekday  \n",
       "create_at                                                        \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07        3  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07        3  "
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 判断是否为周末\n",
    "df['weekend']=df['weekday'].isin({5,6})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>create_at</th>\n",
       "      <th>weekday</th>\n",
       "      <th>weekend</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>create_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "create_at                                                              \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "\n",
       "                     res_time_avg            create_at  weekday  weekend  \n",
       "create_at                                                                 \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07        3    False  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07        3    False  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07        3    False  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07        3    False  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07        3    False  "
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend\n",
       "False    7.016846\n",
       "True     7.574989\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 对weekend 进行分组，对count列求平均值\n",
    "df.groupby('weekend')['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend  create_at\n",
       "False    0             3.239120\n",
       "         1             1.668388\n",
       "         2             1.162551\n",
       "         3             1.086705\n",
       "         4             1.155556\n",
       "         5             1.136364\n",
       "         6             1.000000\n",
       "         7             1.000000\n",
       "         8             1.000000\n",
       "         9             1.080000\n",
       "         10            1.239011\n",
       "         11            2.031690\n",
       "         12            4.195845\n",
       "         13            6.668042\n",
       "         14            8.260503\n",
       "         15            8.934448\n",
       "         16            8.466504\n",
       "         17            6.784996\n",
       "         18            6.717731\n",
       "         19            8.655913\n",
       "         20           10.536496\n",
       "         21           10.846906\n",
       "         22            9.034164\n",
       "         23            5.946834\n",
       "True     0             3.467782\n",
       "         1             1.741849\n",
       "         2             1.161826\n",
       "         3             1.050000\n",
       "         4             1.076923\n",
       "         5             1.333333\n",
       "         6             1.000000\n",
       "         7             1.000000\n",
       "         8             1.071429\n",
       "         9             1.144928\n",
       "         10            1.254111\n",
       "         11            1.992958\n",
       "         12            4.031889\n",
       "         13            6.905772\n",
       "         14            8.851321\n",
       "         15            9.858422\n",
       "         16            9.420550\n",
       "         17            7.334743\n",
       "         18            7.342150\n",
       "         19            9.270430\n",
       "         20           11.173609\n",
       "         21           11.695043\n",
       "         22           10.419916\n",
       "         23            7.025452\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#周末调用平均次数多\n",
    "# 周末哪个时段调用次数比较高\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAEHCAYAAAC3Ph1GAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deXxcV3n4/88zo2W0jGZkbdZmybsTL7GDoYRAEggEypIAv5TlS2nC0gBtoe0XWtov3YFvKVC+QFtKUgJJKaUQCCUFGhJSQhJIIF5ix5Zsy4ssa18saUa7Zub8/rh35LGsdebOpnner5deHs1y59xr6dGZc57zHDHGoJRSKvu40t0ApZRS8dEArpRSWUoDuFJKZSkN4EoplaU0gCulVJbKS+WbVVZWmubm5lS+pVJKZb2DBw8OGmOq5t+/bAAXka8Crwf6jTG77Ps+A7wBmAHOAO8yxowsd6zm5mYOHDiw2rYrpVROE5HzC92/kiGU+4DXzLvvUWCXMWYPcAr404Rap5RSatWWDeDGmCeAi/Pue8QYE7K/fQZoSELblFJKLcGJScx3A//twHGUUkqtQkIBXEQ+BoSAbyzxnLtE5ICIHBgYGEjk7ZRSSsWIO4CLyB1Yk5vvMEsUVDHG3GOM2W+M2V9VdcUkqlJKqTjFlUYoIq8BPgrcaIyZcLZJSimlVmLZHriIfBN4GtguIp0i8h7gHwEv8KiIPCciX05yO5VSSs2zbA/cGPP2Be6+NwltUUqpjBaJGH7S2seN26sozHOnuzm6lF4ppVbqa79o566vH+Q7BzvT3RRAA7hSSq3I2YExPv3wCQCePDWY5tZYUloLRSmlslE4YvjIA0fw5Lt56ZZKfn5mkFA4Qp47vX1g7YErpdQy7n3qLIc6RvjrW3fy5msbCE6FONK5bPmnpNMArpRSSzjdH+Szj5zilqtruG1vHddvqcAl8EQGDKNoAFdKqUWEwhE+/MBRSgrcfPJNuxER/MUF7Gnw80Rb+leWawBXSqlF3PPkWY5cGOFvbttFlbdw7v4btlZy5MIIoxOzaWydBnCllFrQyd4gn3+0jdfuXs/r99Re9tjLtlURMfCLM+kdRtEArpRS88yGI3zkgSN4PXl8/LZdiMhlj+9t9OMtzEv7MIoGcKWUmuerT53j+a5RPvHGXVSUFl7xeL7bxXWbK3ji1CBL1PJLOg3gSik1z2Ot/VzT4OPXd9cu+pyXbauia2SSc4PjKWzZ5TSAK6VUDGMMrb0Bdjf4lnzejVut8thPtqVvHFwDuFJKxegcniQ4FeKq2rIln7ehopimimKeOJW+cXAN4EopFaO1JwCwbAAHuGFrFU+fHWImFEl2sxakAVwppWK09AQQgR3rvcs+92VbK5mYCXOoYzgFLbuSBnCV9b57sJN/+unpdDdDrRGtPQE2VpRQXLB8rb/rNleQ55K0DaNoAFdZyxjDpx8+wYcfOMLnHj3F1Gw43U1Sa0BrT3BFwycAXk8+124oT9tEpgZwlZVmQhE+/O0jfOnxM+yu9xGOGE70BtPdLJXlglOzdFyc4Kra5YdPol62tZJj3aMMjU0nsWUL0wCusk5wapZ33/csDx7u4iO3bONL77gWgGNdo2lumcp2J+1OwEp74GDlgxsDT51OfS9cA7jKKn2BKd5y9zM8c3aIz9y+h997xVYayoso8+RxvDuQ7uapLLeaDJSo3fU+/MX5aRlG0R15VNZo6wty59eeZWRihnvvfCE3brMWUogIO+t8HO/WHrhKTEtPEF9RPrU+z4pf43YJ12+p5Mm2AYwxV9RNSSbtgausMDkT5m33PMNMOMK33nfdXPCO2lVfxoneILPh9OTjqrWhpSfAVbXeVQfhG7ZW0heYpq1/LEktW5gGcJUVWnsDDI3P8PHbdrKr/solzjvrfMyEIpxO8S+QWjvCEcPJ3sCqhk+iXmYvq091OqEGcJUVWuzx7YWCt3W/9Uun4+AqXu1D40zNRrg6jgBe5y9iS3UpT6R4HFwDuMoKrT0Byjx51PuLFnx8Y2UpRfluzURRcYtnAjPWrroyzg3qEIpSV2jpCXB1XdmiY5Nul3BVrXeup67UarX2BMhzCVtrSuN6fY3PQ19gOqX1wTWAq4wXjhhOrGB1XDQTJRJJX4F9lb1ae4JsriqlMM8d1+trvB5mQhFGUrhPpgZwlfHOD40zORtedmxyV30Z4zNhzl+cSFHL1FrSamegxGu9nXrYG5hyqknLWjaAi8hXRaRfRI7F3LdORB4VkTb73/LkNlPlshZ7bPLquuV74KArMtXqDY/P0DM6Fff4N0BNmbX1Wl8mBXDgPuA18+77E+AxY8xW4DH7e6WSoqXbGpvcUr302OTWmlLy3aKZKGrVEp3ABKj2Wj3wjArgxpgngIvz7r4NuN++fT/wRofbpdSclp4AW6qXH5sszHOztdqrKzLVqrU4EcDneuCpK2oV7xh4jTGmB8D+t9q5Jil1uVY7A2UldtWXcbw7kNadwlX2ae0JUuUtpMp75Q70K1WY52ZdSUFm9cATJSJ3icgBETkwMJC+veNUdhocm6YvML3ixRU763xcHJ9J6USSyn7WBGb8ve+omjJPVgTwPhGpBbD/7V/sicaYe4wx+40x+6uqqhZ7mlILio5NrjSAR1dkHuvScfBs9vjJfvqDqQmEs2GrBEMiGShRNWWFWTGE8hBwh337DuD7zjRHqcutdnJpx/oyRNBx8Cx2dmCMO7/2LL9176+YmAkl/f3ODIwxE45vCf1868s8GZdG+E3gaWC7iHSKyHuATwGvEpE24FX290o5rqU7QJ3PQ3lJwYqeX1KYx6bKEu2BZ7GHjnQjAqf6gvzRd44mfT7DiQyUqOoyD4Nj04RSVBVz2Xrgxpi3L/LQzQ63RakrtMQxNrmzzseB9vmJUyobGGN46Eg3L2pex03bq/m7h0+wu97H+2/cnLT3bOkOUJDnYlNlScLHqikrxBgYGJum1rdw3R4n6UpMlbGmZsOcGRhfcQZK1K76MrpHp7g4PpOklqlkOd4d4OzAOLfureP9N27idXtq+fTDJ5JaprW1J8i2mlLy3ImHw/Vl0Vzw1IyDawBXGautb4xwxKx6bDK6IlPHwbPPfx3pJs8lvHZXLSLCZ27fw7YaLx/85mHOD407/n7GGCsDZX3iwydgZaEA9I6mZhxcA7jKWC09VgBe/RCKZqJko0jE8F9HurlhW9XcnEdxQR53v/MFALzv6wcdn9QcCE4zND7jyPg3XArgqcqg0QCuMlZrT5CSAjcb1hWv6nX+4gLq/UXaA88yBzuG6R6d4tZr6i67v6mihC++fV9SJjVXWmdnpSpKCshzScpywTWAq4zV0m1NYLpcq98kNroiU2WPh57rxpPv4lVX11zx2I3bqvijV+/gh0d7uPuJs469Z2tPEMCxIRSXS6j2FtI7qmPgKodFImZuE4d47KzzcW5wnOBU6mozq/iFwhF+9HwPN19VQ0nhwslx779xE6+8qobP/+SUY2l6rT0B6v1F+IrzHTkeWKmEOoSiclrn8CRj06H4t7eyV2RGe1gqs/38zBBD4zNXDJ/EEhFevbOGqdmIYzXfE60BvpCaskKdxFS5rWWVS+jn00yU7PLQc914PXnctH3pchvbaqxg29aX+B9mK011zLEJzKj1KayHogFcZaSWngAuge3r4+sdVXsLqSwt1EyULDA1G+aR4728Zuf6ZUsGR2vCn+pLfPPgtr4xIsaZFZixqss8BKZCTM6EHT3uQjSAq4zU0h1gU1Upnvz49icUEXbWlWkPPAs8frKf4HSIW/cuPnwSVVKYR0N5Eacc6IE7uYQ+1qXFPMnvhWsAVxmptSeQcHGhXfVltPWPMTWb/J6Qit9DR7qpLC3guk0VK3r+thovbQ70wFt7AxTlrz5NdTk1GsBVLhudmKVrZDLh3NyddT7CEeNIb00lR3Bqlsda+3nd7toVL2XfWlPK2cExZhPMRGntCbB9vRd3HGmqS1nvszaFSEVVQg3gKuMkOoEZFX199KOyyjyPtvQxHYpw6976Fb9mW7WX2bBJaGm9MYYTvUHHM1DAGgMH6E9BPRQN4GpFJmfC/Opcair8OTU2WV9ehAh0jejuPJnqoSPdNJQXce0G/4pfE81ESWQiszcwxcjErOPj3wDewjyK8t3aA1eZ4y8fOsZb7n6a7z/XlfT3aukJJLw/IUC+20VVaSE9I5MOtUw56eL4DE+1DfKGa+oQWfkwxpbq0rl64fE6Ya8P2OHQCsxYIsJ6X2pSCTWAq2WdGRjjOwc7Kchz8X8efJ6zA4lPIC2lpTvxCcyoWn8RPSlaVKFW5+FjvYQiZsnFOwspKnDTWF6c0ERmdJhuRxKGUMBKY9UArjLC/3v0FJ58Nw9+4CUU5Ln43X8/nLTMjplQhLb+oGMfbet8HrpHtQeeiQ51DFPlLWRHHLn+22pKE+uB9wap9xdR5nFuCX0sqweuY+AqzVq6A/zgaA/vur6ZXfU+PveWvbT2BPibH7Qk5f3ODIwxGzaOVYer9RXRMzKV9G251OpFd4JfzfBJ1NYaL+cGx5kJxZeJ4tQu9IuJ7k6f7J87DeBqSZ979CReTx53vcza0urlO6p5/42b+fdfdvDQkW7H36+l25kMlKg6v4fJ2TCjk1rUKpOEwhHa+sa4Ks6VtttqSglFDO1xZKJMzYY5O+DMLvSLqSnzMB2KJP3nTgO4WtShjmF+0trP+27YdFm1tg/fso0XNJXzp989yrlBZ3dJae0J4Ml3sdGB/QkB6vzWvoTdmomSUc4NjjMTjsQ9Br21OpqJsvphlGQtoY9VU2ZNwCd7GEUDuFrU3z9ykoqSAt51/cbL7s93u/iHt+8jP8/F73zjkKPj4a29AbbXOLe4otZn5eT26Dh4RmntTSwLZEt1KS6JL5UwmqYaz9j7Ss1trZbkiUwN4GpBvzgzyM9PD/E7L9+yYH3mOn8Rn3vLNbT2BPi4Q+Ph1v6EQUdTu+Z64JqJklFO9ATIcwmbq0rjer3HXgIfT1XC6BL6pgpnPuUtJFX1UDSAqysYY/jsj09S6/Pwjl/bsOjzXrGjhvfdsIlv/LKDR473Jvy+A2PTXByfcTS1q7K0kDyXaC54hjnRG2RLdSkFefGHoK013riGUJK1hD5WdA1DX5I7DhrA1RV+erKfQx0jfPAVW5etBviRV2+npqyQHxztSfh957a3cnBs0u0Saso8mgueYU70BBIewthWU0r70ATToZUP4SVzCX0sT76b8uJ8+pK8M48GcHWZSMTw2R+foqmimN/Y37Ds8/PdLvY1lnOkcyTh9z6RpLHJOr+Hbu2BZ4zRiVm6R6fYkeAf6m01XsIRs6qJ9GQuoZ/PSiXUSUyVQv99rJeWngB/8Mqt5K+wOtyeRh/nhyYYmZhJ6L1P9Aap9XnwFxckdJz5an26GjOTnOh15g/1pUyUlU9kJnMJ/XzVKdiZRwO4uswXH2tjW00pt16z8upwexusQkRHOxPbPKHVgY/VC6n1e+gdnSIS0cU8mcCpYmWbqkpwyeq2V0v2EvpY68uSv5xeA7ia0x+c4mRfkLfsb1zVBM+uBmv/ySMX4h9GmQlFON3v/P6EAHW+ImbCEQbHk7+0WS3vRG+QdSUFVCdYrMyT76a5omRVE5nJXkIfq6bMw0BwmlCCdcuXklAAF5E/FJHjInJMRL4pIh6nGqZS77kOKwDv21C+qteVefLZVFXCkQR64GcGxghFTMLjoguZywXXxTwZobU3yI713riW0M+3taZ0VUWtkr2EPlZNmYeIgaHxxIYWlxJ3ABeReuBDwH5jzC7ADbzNqYap1DvUMUK+29pLcrX2Nvg50jkSd+2H6LhovEurlxLNBdfFPOkXjhhO9TqX67+txkv70PiKFpOlYgl9rLnFPEmcf0l0CCUPKBKRPKAYcL44hkqZwx3DXF3ni2sj4T0NPgaC03GvPGvtCVKQ59wS+ljRHrgup0+/josTTM6GHRuD3lrjJWLg7MDymSipWEIfKxWLeeIO4MaYLuCzQAfQA4waYx5xqmEqtULhCEc7R1e1M0qsPY3W645ciG8YpbUnwLaa0hXvi7ga60oKKMxzaQ88A0RTRa9yrAdureRs619+HLzVoeyXlZqrhxJM3txLIkMo5cBtwEagDigRkd9c4Hl3icgBETkwMDAQf0tVUp3oDTI5G171+HfU1bVl5LmEo3Hmg59w8GP1fCJCrc+jy+kzQGtvEJdYY9dO2FhZgtslK5rIbO1J/hL6WBWlhbhdktTVmIl0d14JnDPGDBhjZoEHgZfMf5Ix5h5jzH5jzP6qqqoE3k4l02E7g2RfY3w9cE++mx213rgW9AyOTTMQnE5qz8iqC6498HQ70RNgY2VJXMN0CynMc9NcUbyiXPATPUG2JXkJfSy3S6gqTW4qYSIBvAN4sYgUizWdfDPQ6kyzVKod7himsrSQhvKiuI+xp8HP0c7RVedbRxdXOFUDfCG1fl1OnwlO9AYdzzTaVuNdNhfcGENrb4CrUzSBGVVTVpjUioSJjIH/EvgOcAh43j7WPQ61S6XY4Y4Rrt3gTyi1a2+Dn+BUaNVF9qMZKNuT2AOv8xXRF5hKak6uWlpwapaOixOOZxptrfFy/uLEkpkofYFpRiZmU7ICM1ZNmYf+JC6nT2jGyBjzl8aYHcaYXcaYdxpjdKVEFhoen+Hc4Hjc499RexrtBT2rHEZp7QlS7S2kojSxhR1LqfVbObn9SZxQUkuLjlM7HUS31ZRijLWWYDFOrf5crZoyT2b2wNXa8Vx0/DvODJSoLVWlFOW7V52J0toTSMoCnlh1Ps0FT7e5apMO7Xcata3G6tEvtaCnNQWf8hay3udhdHI2aZuAawBXHOoYxu0S9thL4uOV53axu963qkyU2XB0CX1yf7Fq/ZoLnm4negN4PXnU+ZxdsN1cUULeMpkorT3WEnpfUfKX0MeKlgtI1jCKBnDF4Y4Rdqz3Ulxw5c47q7Wnwcfx7gCzKxxrju6N6FRe8GJqtQeedid6gly1Pr5d6JcSXQC2VCbKiZ5AylZgxkr21moawHNcOGJ47sJIwsMnUXsa/UyHIpzsXVmBodYUVYcr8+RRWpinPfA0iW6kkKz/52013kUX80zNhjk7OJ7y8W+whlAgeasxNYDnuNP9Y4xNh9jXmNgEZlS0tOxKJzJbe4Lku4VNlc4s7FhMdDGP9sDTo3N4krHpUNKyQLbWlFrL9GeuHGs+3T9GOGJSnoECUOPVAK6S6HDHMADXNjkTwBvXFVFenM/RFU5knugNsKXam9DeiCtV69eNHdLlRHQX+iT2wBfLRGmZy0BJ/RBKWVEennxX0gJ44oOeKqsd7hjBX5xPc0WxI8cTEXbblQlXorUnwPWbKx157+XU+Ty0dAdS8l7qctEaKNtrkhXArU9w773/AAV5LmbDEWbDhlAkwsR0GE++K2VL6GOJiJ1KmJxJTA3gOe7whWH2NSa2gGe+vQ0+/vGnA0zMhJacGL04PkNfYDolu6OANZE5ODbNdChMYZ4zS7nVyrT2BmiqKKakMDkhZ1NlKXe+pJnBsWny3S7yXEJ+not8l5DvdrGn0Z+yJfTz1SRxazUN4DksMDVLW/8Yb9hT5+hx9zT4iRg43h3ghc3rFn3epb0RUzM2GU0l7BudZoNDnzjUypzoCSa11o3LJfzVrTuTdvxE1JR54i7ythwdA89hRy6MYMzqd+BZztyKzGW2WIvWQElVdkB0MU+3TmSm1ORMmHND42mZRMwENV6roFW8m50sRQN4DjvcMYIIXNOY2AKe+aq9Hup8nmW3WGvtCVBZWkBVgnsjrlS0B66ZKKl1qi+IMemZRMwE630epmYjBKZCjh9bA3gOO9QxzLZqL94kbPBqVSZcpgeexBrgC5nrgWsueErNbZeXhjzsTFCdxJ15NIDnKGMMhzucW8Az355GH+eHJhiZWHhD11A4wqm+5I6LzldU4MZfnE+31gVPqdaeIMUFbhrLc3PeIZlbq2kAz1HnBscZnZxNWgC/tKBn4WGU9qFxpkORlPfKan2aC55qJ3oDbF/vxZWmLJB021JdyifftIvNVc4vVtMAnqMOdUQrEDo7gRm1yy6MdXSRicxoZbpUpRBG1fk82gNPobkl9CmuAphJ1pUU8I5fa6LOH/9mKYvRAJ6jDncM4y3MY0sSegUAZZ58NlWVLNoDP9EbwO0StlQndwn9fLozT2oFJkOMTMwmvVRCrtIAnqMOd4ywd4M/qR9r9zb4ebb9Il958ixPnxlidHJ27rHWniCbq0pSvqCm1lfE6OQsEzPOZwSoK3WOTABQn8BWfWpxupAnB41PhzjRG+D3Xr4lqe/zhr11PHV6kE/88NJWqRvWFbOzroxDHcPcuC31m1zXxdQFT3XvPxd1DVvDVfVJGD5QGsBz0tHOUSIG9jlUwGoxL99eza8+9koGgtMc7x7leHeAlu4Ax7tHGZmY5cWbKpL6/guJrQuuATz5uuz5Bu2BJ4cG8Bx0vNsal95T7+wCnsVUeQu5aXs1N22vnrtvJhRJSQXC+ea2VtNc8JToGp7Ek++ioqQg3U1Zk3QMPAedH5qgzJPHujT+UqUjeAPU+KxVn7qcPjU6hyep9xc5vguPsmgAz0HtQ+M0V5bk5C9VYZ6bytJC7YGnSNfIJPU5uoAnFTSA56DzQxNpqY2cKer8Hu2Bp0jXyKROYCaRBvAcMxOK0Dk8wcYcLqdqba2mPfBkm5gJcXF8hgadwEwaDeA5pnN4goghx3vgRfSMTCalvKe6JLriVQN48mgAzzHnh6yFFc2VudsDr/MVMT4TTkp5T3XJBc0BTzoN4Dnm3OA4AM053APXuuCpMbeIR3vgSaMBPMecHxrHW5jeFMJ0q9Vc8JToGpkkzyVUez3pbsqalVAAFxG/iHxHRE6ISKuIXOdUw1RytA9N0FRZnJMphFFzy+m1B55UXcOT1PmL0raZcC5IdCXmF4CHjTG3i0gBkLsDq1ni/NA4O1O0AjNTVXs9uF2iPfAk6xye0PHvJIu7By4iZcANwL0AxpgZY0xytl5WjpgNR7gwPMnGHB7/BnC7hBpvofbAk8xaxKMBPJkSGULZBAwAXxORwyLyFRHJ7ciQ4bqGJwlHDE05nAMeVesv0h54Es2EIvQHp7UHnmSJBPA84Frgn40x+4Bx4E/mP0lE7hKRAyJyYGBgIIG3U4lqH7IzUCr172ydv2iuUp5yXs/oJMZoBkqyJRLAO4FOY8wv7e+/gxXQL2OMuccYs98Ys7+qKvX1n9Ul7ZpCOGfDuiK6RyaZDUfS3ZQ1KZpCqIt4kivuAG6M6QUuiMh2+66bgRZHWqWSon1ogpICN5WluZtCGNVUUUIoYuYCjXJWZzSA+3W4LpkSzUL5IPANOwPlLPCuxJukkuX80DhNFblZhXC+jfYwUrQyo3JW58gkIrDepzngyZRQADfGPAfsd6gtKsnahya4KsW7wGeq6ERutLSAclbX8CQ1Xk/a6r7nCr26OSIUjnDh4oSOf9uqSgspLnDPTewqZ3WNTOgEZgpoAM8R3SNThCJGA7hNRGiqKNEeeJJ0jUzqBGYKaADPEdGepuaAX9JcUaw98CQIRww9I1OaA54CGsBzRDRQbdQJuznNlSVcuDhBSFMJHdUXsD7t6RBK8mkAzxHtgxMU5bup8hamuykZo7mimNmw0d15HBZdIKU98OTTAJ4jrBTC3K5COF90VyIdRnHWpUU8OlyXbBrAc8S5oXGdwJyneS6A60Smk7QHnjoawHNAOGKsFEId/75MtbcQT76L84PaA3dS5/AEFSUFFBW4092UNU8DeA6wan4YmjUD5TIul9C0rkSHUBzWOaxlZFNFA3gOiOY65/JO9ItprizWIRSHdY1M6vBJimgAzwHn5srIag98vuaKEjqGJghHTLqbsiYYYxUI00U8qaEBPAecHxzHk++iRjeXvUJTRQkz4Qi9AU0ldMLg2AzToYj2wFNEA3gOaB+aoGldCS7dXPYK0XkBnch0xlwGiqYQpoQG8BzQbueAqys12Zk553Qi0xHRHHDtgaeGBvA1LhwxdAxN6BL6RdSWWSVPtaiVM7pGrOuoWSipoQF8jesNTDETjmgGyiKsVMLiue3mVGK6hifxevLwFeWnuyk5QQP4GndpH0wdQlmMlpV1TuewphCmkgbwNW6ujKwOoSyquaKY8xfHiWgqYcK0DnhqaQBf484PTVCQ56K2TFMIF9NUWcLUbIT+4HS6m5L1urQHnlIawNe49sFxmtYVawrhEqLDS+d0HDwho5OzBKdDWoUwhTSAr3Ht9k70anHRqoTnNZUwIXMphDqEkjIawNewSMRwfmiCjbqEfkl1/iLy3aI1URLUOWynEOoQSspoAF/D+oJTTIc0hXA5bpfQuK5Ye+AJurQKUwN4qmgAX8POzaUQagBfTnNFifbAE9Q1PIkn30VFSUG6m5IzNICvYZfKyOoQynKaKqweuDGaShivaBlZ3bYvdTSAr2HtQ+MUuF3U6ZjksjZWljAxE2ZAUwnj1jUyqUWsUkwD+Bp2fnCCxnVFuDWFcFlNuj9mwnQVZuppAF/D2nUj4xWL5oLr9mrxmZgJcXF8RldhpljCAVxE3CJyWER+4ESDlDPCEcPZwXGtQrhC9f4i8lyimShx6rYzUDSAp5YTPfDfB1odOI5yUOfwBDOhCFtrStPdlKyQ53bRUF5E+6AOocSjU+uAp0VCAVxEGoDXAV9xpjnKKW19YwBsqfamuSXZo6lCd6iPV6euwkyLRHvgnwf+GIg40BbloNMD0QCuPfCV2lhplZXVVMLVOztg7btarfuuplTcAVxEXg/0G2MOLvO8u0TkgIgcGBgYiPft1Cqd7h+jyluohfVXoamimLHpEEPjM+luStZp6w+yrcarGU8plkgP/HrgVhFpB/4DeIWI/Nv8Jxlj7jHG7DfG7K+qqkrg7dRqtPWPsVV736uiRa3id7LXCuAqteIO4MaYPzXGNBhjmoG3Af9jjPlNx1qm4maM4Uz/mA6frFJ0xapOZK7O8PgM/cFptmsATznNA1+DegNTjE2HtAe+Sg3lxbhEc8FX61RfEIBt6zWAp1qeEwcxxjwOPO7EsVTiTvdbE5ibNY6yV2YAABfuSURBVICvSkGei4byYl2NuUrRAK498NTTHvgaFE0h3KophKsWLWqlVu5kX5AyTx41ZYXpbkrO0QC+Bp0eGMNXlE9lqZb1XK3mihLODWpVwtU41TvG9vVerUKYBhrA16DTfVYGiv5CrV5TRTHBqRAjE7PpbkpWMMZwsk8zUNJFA/gadHpAM1DiFU0lPKfDKCvSH5xmdHKW7TqBmRYawNeYobFpLo7PaACP08YqK4BHJ4LV0k722hko2gNPCw3ga0w08GgAj09zRQklBW6Od42muylZYS6FUAN4WmgAX2O0Bkpi3C5hZ72PoxrAV+Rkb5AqbyHrdB/MtMiKAD4dCnN2QD/SrkRb3xjFBW7qfFoVLl576n20dAeYDWuNtuWc6gtq/ncaZUUA/z8PHuMtdz+tqV0rcGZgjM1Vpbi0qFDcdjf4mA5F5vLp1cIiEcOpvjEdPkmjrAjg+zb4GRyb4cLFyXQ3JeO19WkRq0TtafAD8HzXSJpbktk6hyeZnA2zTTcNSZusCODXbigH4FDHcJpbktmCU7P0BqZ0CX2CmtYV4/XkcbRTx8GXclJroKRdVgTw7eu9lBS4NYAvI5qBoj3wxLhcwu56H8/rROaSohko+vOWPlkRwN0u4ZpGvwbwZWgKoXN2N/ho7QkwHQqnuykZ62RvkHp/EV6PbhqSLlkRwMEaRmntCTIxE0p3UzLW6f4xCtwuNqwrTndTst6eej+zYcOpXp3IXMypvqCuwEyz7AngTX7CEaPjkks43T/GxsoS8txZ89+asfY0+AA4qhOZC5oNRzgzoBko6ZY1v+n7Gq2JzIPndRhlMW26C49jGsqL8Bfn87x2GBbUPjjObNiwfb3+vKVT1gTw8pICNlWWcFjHwRc0NRvmwvCEBnCHiFgTmfqJb2EndQl9RsiaAA6wb0M5hzpGdEHPAs4OjGOMTmA6aU+Dj1N9QaZmdSJzvlO9QVwCm6v05y2dsiqAX9vk5+L4DOd1y6srtPXbKV26qMIxu+v9hCKG1p5AupuScU72BWmuLMGT7053U3JadgVwXdCzqDP9Y7gENlaWpLspa0Z0IlPzwa90qm9Ma6BkgKwK4NtqvJQW5mkAX0Bb/xgb1hVTmKc9IqfU+jxUlhboOPg8U7Nh2ofGdfw7A2RVALcW9Pg4dF5Tu+Y73T/GFt3E2FHRiUzNRLnc6f4xjEFzwDNAVgVwgBdsKOdEb4DxaV3QEzUbjnBucFwnMJNgd4Oftn5dQBZLd+HJHFkXwPc1lRMxcKRTe+FR54cmCEWM1qRIgj31PiIGWrp1IjPqVF+QAreL5gpd8ZtuWRfAr7UX9Bzu0AAeddrOQNEeuPN2R1dk6jDKnJN9QTZXl+qK3wyQdf8DvuJ8NleVcEhXZM6JFrHSMrLOqynzUO0t1EyUGKd6g2zXdNWMkHUBHKx0wkMdw7qgx9bWP0adz0NpYV66m7Im7WnwcVSH7AAITM3SPTqlNcAzRHYG8KZyhidmOTc4nu6mZITT/WNs0QmlpNld7+fs4DjBqdl0NyXt2uwl9JoDnhniDuAi0igiPxWRVhE5LiK/72TDlnJpQY/2iiIRw5mBMbbokuak2dPgwxg4rhOZnLTL62oGSmZIpAceAj5sjLkKeDHwuyJytTPNWtrW6lK8uqAHgK6RSaZmIzqBmUS76u0VmTqRyam+ICUFbur9ReluiiKBAG6M6THGHLJvB4FWoN6phi3F5RL2bvDrRCaXcnK1BkryVHkLqfN5dCIT6+dta40Xl0vS3RSFQ2PgItIM7AN+6cTxVmLfhnJO9QUZy/EFPQ8e7qTMk8fOurJ0N2VN292ge2ROzYY53j2q498ZJOEALiKlwHeBPzDGXDFIKCJ3icgBETkwMDCQ6NvNuXaD31rQcyF3x8EvXJzg4WO9vP3XNlBcoBkoybSnwc+5wXFGJ3N3IvOBg50EpkLctq8u3U1RtoQCuIjkYwXvbxhjHlzoOcaYe4wx+40x+6uqqhJ5u8tEd+jJ5WGU+37Rjohwx3XN6W7KmrfbHgc/nqO98FA4wt0/O8O+DX6u21SR7uYoWyJZKALcC7QaYz7nXJNWxlecz9bq0pydyAxOzfKtZy/w2t211OmEUtJFA/jRHA3g/3W0m87hSX7npi1Yv/oqEyTSA78eeCfwChF5zv56rUPtWpFrN5Rz+EJu7tDz7QOdjE2HeM9LN6a7KTmhvKSAxnVFOZmJEokY/vnxM2yv8XLzjup0N0fFSCQL5SljjBhj9hhj9tpfP3Kyccu5tsnPyMQsZ3NsQU84YrjvF+fY31TO3kZ/upuTM17UXMFPT/bTMzqZ7qak1E9a+zjVN8YHbtqs2ScZJitXYka9oMkaB3/4WG+aW5Jaj7b0cuHipPa+U+wPXrmVcMTwiR+0prspKWOM4UuPn6FxXRGv31Ob7uaoebI6gG+uKuVVV9fwhcfa5vKhc8G9T52jobyIW3auT3dTckrjumJ+7+Vb+OHzPTxxyrmMqkz29Nkhnrswwvtu2KzVBzNQVv+PiAh/++bdlHny+INvPcdMKJLuJiXdkQsjPNs+zJ0vacatH2dT7rdv2ERzRTF/9dBxpkNrf7f6L/30DFXeQm5/QUO6m6IWkNUBHKCytJBPvXkPrT0BPv+TU+luTtLd+9Q5SgvzeOsLG9PdlJzkyXfz17ft4uzgOF958ly6m5NURy6M8NTpQd770o26+3yGyvoADvDKq2t46/5GvvyzMxxov5ju5iRNz+gkP3q+h7e+sBGvJz/dzclZN26r4td3recf/qeNCxcn0t2cpPnS46cp8+Txjhc3pbspahFrIoAD/Pkbrqa+vIj//e0ja3Z5/f2/OE/EGO58SXO6m5Lz/vz1VyMIH/9BS7qbkhRtfUF+fLyPO17SrHXmM9iaCeClhXl87i17uTA8wSd/uPZ+qSZmQnzzVx28eud6GtfpXoTpVucv4kM3b+WRlj5+eqLfseP2BaZ47/0H+MgDR9I6p/PPPztDUb6bd12vmU6ZbM0EcIAXNq/jfTds5pu/usBjrX3pbo6jvnuwk9HJWU0dzCDveelGNleV8JcPHWdqNvEJzZ+e7OfXv/AkT7QN8J2Dnbzv6wccOe5qRCKGZ84O8dBz3bztRY2sKylI6fur1VlTARzgD1+1lR3rvXz0u0cZGptOd3MSdm5wnD/7z+f5xA9buabRP5f7rtKvIM/Fx2/bRcfFCb78szNxH2cmFOETP2jhXV97lmpvIT/60Ev5v2/azeOnBnjX155N+pDgTCjCz04N8LHvPc91n3qMt93zDMUFbn77ZZuS+r4qcWtucKswz83n37aXW//h59z5tWd57e5a9jb62dPgo2SBsTxjDJ3DkxzrGuVY9yjDE7N4C/MoLcyj1GP96/Xk4Ssq4NomP4V5qZmNP3j+Ivc8cZZHWvrId7l40756PvTKrVqHIsO8ZEslb7imji89fobCPDev2bWejZUlK359++A4H/qPwxztHOWdL27iY6+7Ck++my3VXooL3Hz4gSO8895fct+dL8JX7MzEdSRiaB8a57kLI/z05ACPn+gnOB2iKN/NjduquGVnDa/YUY2/WHvfmU5SWUdk//795sCBAyl5rwcPdfLFx9poH7KyBFxibQO1b4Ofq2rL6Bqe5Fj3KMe6AnMlQt0uwV+Uz9h0iOkFxh/Li/N5074G3vrCRrYnYVPXiZkQPzs5wL88eZZDHSP4ivJ554ub+K2XNFHt9Tj+fsoZ/YEp3v9vB+e2+Nte4+XVu9bz6p01XF1bdsUf3dlwhJGJWZ44NcBffP8Ybpfw6duv4TW7rlyY9fCxXj70zcNsqS7l6+95ERWlhatuX19giiMXRjjSOcKRC6Mc6RwhOGX16itLC7h5Rw237Kzh+i2Vmi6YoUTkoDFm/xX3r9UAHnVxfIYjF0Y4fGGEwx3DHLkwQmAqRIHbxfb1XnbVl7Gzzsfueh/b13vnfoBnwxHGp0MEp0KMTYfoGp7ke4e7eKSll9mwYd8GP2/d38jrr6mLe5a+Z3SSA+3DHDxvfbX0BAhHDI3rinjP9Rt5ywsbtc53FukameSR4708fKyXZ9svEjHQuK6ILVWlDE/MMjwxw8XxmbngCbC/qZwvvH3fkluU/ezUAO/7+gHq/UV8470vZr1v8T/mQ2PTPN81ytFO6+v5rhH6AtZQotsl7Fjv5ZpGP3sb/Oxp9LG12qsLwrJAzgbw+SIRQ09giqrSQgryVj8FMDQ2zfcOd/GtZy/Q1j9GcYGbPQ0+XKsY2jAGzg+N0z06BUBRvptrGn3sb1rH/uZyXrqlUpctZ7mhsWl+0trHj4/30R+cory4gHUlBZQXF9i386kp8/CKHdUr+r/+5dkh3nP/AYoL3Avuf2oMdFycoGvEKrQlApsqS9jT4Gd3vY9rGv3srCvTHnaW0gDuMGMMhzpG+PazFzg7OLbq11eXedjfVM4Lmsq5qraMfA3YahlHLozw2UdOLpqZUl3m4ZoGH7vr/eyqL9PFXmuIBnCllMpSiwVw7fYppVSW0gCulFJZSgO4UkplKQ3gSimVpTSAK6VUltIArpRSWUoDuFJKZSkN4EoplaVSupBHRAaA83G+vBIYdLA52UivgV6DXD9/yM1r0GSMqZp/Z0oDeCJE5MBCK5FyiV4DvQa5fv6g1yCWDqEopVSW0gCulFJZKpsC+D3pbkAG0Gug1yDXzx/0GszJmjFwpZRSl8umHrhSSqkYGsCVUipLOR7ARaRIRH4mIm4RaRaRSRF5LuZrwa2u7ecec7gt60TkURFps/8tt+/fLSL3OfxemXTevyEix0UkIiL75z32pyJyWkROisirY+7/SfT6JPC+mXQNPiMiJ0TkqIh8T0T8MY8l7Ros0pbodbkm5lpcFJFz9u2fOP2eMe8tIvJJETklIq0i8iH7/teLyF8n8X3Tec6/Z///GhGpnPfYTfb7HxeRn9n3FYjIEyKSfRvQGmMc/QJ+F/h9+3YzcGyFr1vxc1fRlk8Df2Lf/hPg72Ie+wmwYY2e91XAduBxYH/M/VcDR4BCYCNwBnDbj90BfGwNXYNbgDz79t9F/++TfQ2Wuy4x990H3L7Ac/Mcfu93Af8KuOzvq+1/BTgMFDt9vhlwzvvsn6l2oDLmfj/QEv29j14L+/ZfAu9IxrVI5lcyhlDeAXx/sQft3taTInLI/nrJAs/ZKSK/sv9SHhWRrfb9vxlz/90istwOrbcB99u37wfeGPPYfwFvW9WZLS1jztsY02qMObnAQ7cB/2GMmTbGnANOAy+yH3sIePsKz3UxmXQNHjHGRLd/fwZosG8n+xosZLnr8riI/F+7R/j7InKfiNwe8/hYzO0/EpFn7Wuzkh70B4C/McZEAIwx/fa/BusP/OvjOqPlpe2cjTGHjTHtCzz0v4AHjTEd9vP6Yx77T7vNWcXRAG5/RN407+JtjvkI9U9AP/AqY8y1wFuBLy5wqPcDXzDG7AX2A50icpX9/Ovt+8Msf8FrjDE9APa/1TGPHQBetuqTXEAGnvdi6oELMd932vdhjBkGCkWkIp4DZ/g1eDfw3/btpF2DhSxyXRbiN8bcaIz5+yWOdQuwFesPzl7gBSJywzLH3Qy8VUQOiMh/R/8g2hz7HZjXznSf82K2AeX2H4+DIvJbMY8dA14Y53HTxukxn0pgZN59Z+xfOgBExAf8o4hEfxG3LXCcp4GPiUgD1l/MNhG5GXgB8KyIABRhBYR49QN1Cbw+VractyxwX2weafSaDMVx7Iy8BiLyMSAEfCN61wJPc+oaLGSh67KQb63gObfYX4ft70uxgtsTS7ymEJgyxuwXkTcDX+VS0HbydyBWus95MXlYP0c3Y/0MPS0izxhjThljwiIyIyJeY0wwjmOnhdMBfBLwLPOcPwT6gGuwPgFMzX+CMebfReSXwOuAH4vIe7F+8e43xvzpKtrTJyK1xpgeEanl8l96j91eJ2TaeS+mE2iM+b4B6I75PpFrknHXQETuwBoiuNkeMoDkXoOFrOS6AIzH3A5hfzoW6y9WdPJXgL81xty9ivfvBL5r3/4e8LWYx5w+16h0n/NiOoFBY8w4MC4iT2D9LJ6yHy9kgZ/JTOboEIr9EdQtIkv95/mAHntM7p3AFWOZIrIJOGuM+SLWuOQe4DHgdhGptp+zTkSa7Nv/KiIvmn8c+7V32Lfv4PIxuW1YH5sSloHnvZiHgLeJSKGIbMTqyfzKPpYA67EmflYt066BiLwG+ChwqzFmIuahpF2DhazwuszXjtVTBGvMPt++/WPg3SJSCiAi9THX5DERqV/gWP8JvMK+fSOXghU4+DsQKwPOeTHfB14mInkiUgz8GtBqH6sCGDDGzK7ieGmXjEnMR4CXLvH4l4A7ROQZrB+g8QWe81bgmIg8B+wA/tUY0wL8GfCIiBwFHgVq7efvAXoWOM6ngFeJSBvwKvv7qJcDP1zxWS0vY85bRN4kIp3AdcAPReTHAMaY48C3sWbiHwZ+1xgTtl/2AuCZmIm/eGTMNQD+EfACj9pj8F+GlFyDhSx3Xeb7F+BGEfkVVpAZB2tiFvh3rI/+zwPfAbwi4gK2ABcXONangP/Pfv7fAu+Neczp34FYaTtnEfmQ/fPfABwVka/Yx2rF+j8/ivVH+yvGmOgfsJcDP1r1Waab02ktWCk8X3f6uEu8XxnwwCpfU4iVmeBY+lI2nPcyx/sC1lCDXgPn25nU6wLsAj63ytfUAI8lsU0Zd87LHO9BYHuy2pusr6TUQhGRd2ONWYaXfXIa2DPx9caYxx0+bkaf91JE5LeNMf/iwHFy/hoscuyMui4i8kJg1hjzXBLfI6POeTF21szbjDH/mu62rJYWs1JKqSyltVCUUipLaQBXSqkspQFcKaWylAZwpZTKUhrAVUaz61Y4ugO5WCVFf+DkMZd5vztFxNEl6yLyRhG52sljquyjAVypVZDlK2Au5E6crznyRqzSuCqHaQBXjhKRP5ZLmwb8PxH5H/v2zSLybyJyi4g8LVY52Qdilki/QKwNAA6KyI/t2jWxx3WJyP0i8gmxNoz4jFwqMfo++zk32T3274i1mcM37OXxiMhr7PueAt68SNvdIvJZEXnePu4H7fvbReQv7Nf+xhLn8Bd2m46JyD1iuR2rquI37BWhRcud67w2/bZ9zCMi8l0RKRarDO+twGfsY25O5P9MZbF0ryTSr7X1BbwYe3Uk8CTWkuV8rIL5H8WqIldiP/5R4C/sx38BVNn3vxX4qn37cfuY38TebAG4C/gz+3YhVlnUjcBNwCjWEmoXVmXDl2IVVrqAVfdEsJbS/2CBtn8Aq/BTdCOIdfa/7cAf27crFzqH2Ofbt78OvCHmHPbbtxc910WuZ0XM7U8AH7Rv38cCmyPoV259Zd8WQirTHcSq2ewFpoFDWD3Ql2EVkroa+LndMS7ACrLbsZZGP2rf7+by+iZ3A982xnzS/v4WYI9c2gDAhxWcZ4BfGWM6Aex6Ks3AGHDOGNNm3/9vWH8E5nsl8GVj10IxxsTW2YiWPn3xIucA8HIR+WOgGFgHHMfaOCTWcuc63y4R+QTWbjKlWMWdlAKcLyercpwxZlZE2rG28voFVuGgl2NtLHAOeNQYc9muNyKyGzhujLlukcP+Ais4/r0xZgqrF/1BY8xlwUxEbsL6oxEV5tLP+EqWHMsSzxuPec5C5+DBKta13xhzQUT+ioVLqgpLn+t89wFvNMYcEZE7sT5lKAXoGLhKjieAj9j/Pom1y85zWAXErheRLQD2eO424CRQJSLX2ffni8jOmOPdi1Up7gGxNp79MfABEcm3n79NREqWaM8JYGPMWPFc8BWRF4lItAbGI8D77fdARNYtcKzFziEarAftMfHbY14TxKqMyArOdT4v0GOfa+wuRLHHVDlKA7hKhiexyr0+bYzpwyqS/6QxZgArI+ObYpWFfQbYYYyZwQp4fyciR7CC/WX7ZRpjPoc1HPN14CtY5WAPibWb/d0s8WnS7rXfhVVa9yngfMzDG7i0qcFXgA6sEqRHsPZQnH+sxc5hBKsk6vNYNbifjXnZfcCX7SEd93LnOs+fA7/EKqF7Iub+/wD+SEQO6yRm7tJiViqnichnsMqeHk13W5RaLQ3gSimVpXQSU6kMICL/BFw/7+4vGGO+ttDzlQLtgSulVNbSSUyllMpSGsCVUipLaQBXSqkspQFcKaWy1P8PDmFAxag6atAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 周末和非周末，具体时间对比，绘制图形\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean().plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>weekend</th>\n",
       "      <th>False</th>\n",
       "      <th>True</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>create_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.239120</td>\n",
       "      <td>3.467782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.668388</td>\n",
       "      <td>1.741849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.162551</td>\n",
       "      <td>1.161826</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.086705</td>\n",
       "      <td>1.050000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.155556</td>\n",
       "      <td>1.076923</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1.136364</td>\n",
       "      <td>1.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.071429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1.080000</td>\n",
       "      <td>1.144928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1.239011</td>\n",
       "      <td>1.254111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2.031690</td>\n",
       "      <td>1.992958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>4.195845</td>\n",
       "      <td>4.031889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>6.668042</td>\n",
       "      <td>6.905772</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>8.260503</td>\n",
       "      <td>8.851321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>8.934448</td>\n",
       "      <td>9.858422</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>8.466504</td>\n",
       "      <td>9.420550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>6.784996</td>\n",
       "      <td>7.334743</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>6.717731</td>\n",
       "      <td>7.342150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>8.655913</td>\n",
       "      <td>9.270430</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>10.536496</td>\n",
       "      <td>11.173609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>10.846906</td>\n",
       "      <td>11.695043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>9.034164</td>\n",
       "      <td>10.419916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>5.946834</td>\n",
       "      <td>7.025452</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "weekend        False      True \n",
       "create_at                      \n",
       "0           3.239120   3.467782\n",
       "1           1.668388   1.741849\n",
       "2           1.162551   1.161826\n",
       "3           1.086705   1.050000\n",
       "4           1.155556   1.076923\n",
       "5           1.136364   1.333333\n",
       "6           1.000000   1.000000\n",
       "7           1.000000   1.000000\n",
       "8           1.000000   1.071429\n",
       "9           1.080000   1.144928\n",
       "10          1.239011   1.254111\n",
       "11          2.031690   1.992958\n",
       "12          4.195845   4.031889\n",
       "13          6.668042   6.905772\n",
       "14          8.260503   8.851321\n",
       "15          8.934448   9.858422\n",
       "16          8.466504   9.420550\n",
       "17          6.784996   7.334743\n",
       "18          6.717731   7.342150\n",
       "19          8.655913   9.270430\n",
       "20         10.536496  11.173609\n",
       "21         10.846906  11.695043\n",
       "22          9.034164  10.419916\n",
       "23          5.946834   7.025452"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 周末和非周末，数据叠加\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean().unstack(level=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.groupby(['weekend',df.index.hour])['count'].mean().unstack(level=0).plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
